package com.example.vv.config;

import com.dtflys.forest.annotation.BaseRequest;
import com.dtflys.forest.annotation.Body;
import com.dtflys.forest.annotation.Get;
import com.dtflys.forest.annotation.Post;
import com.dtflys.forest.annotation.Retry;
import com.dtflys.forest.annotation.Var;

@BaseRequest(
        headers = {
            "Content-Type: application/json",
            "Cookie: LoginRequestKey=6AE968CB105E425250DE31818F29EB740B89AF61BB34887EE1705F75598134912C0E22065EC7AA12AC8280C1F720D5AAB562C48DAF8EA4FF687423929C5D51A7889BEE4F6533760DD16AF4E5702B0B593CF7E27C1C1DAE35E86E2C44A3E5A495F4238D0B59D0A678D614597FDD2E29E94AE4314AE81CA0179B357727A8C27C32; web.auth.yzw=D37429DE1F77B1A440846F07A6FE31D4EEE44968F325EE3ABD3B535C69906CE7250A5E7807A9FE70ECB4CAE3D22BA8F1FD10849BAA8AC7F919095BF58860578988ADE41A65037604E956919517B299E7B34D59274657D062BD4D331FE1DC98D9A90B8D2158CFB93EAA720D38EF6808FC4BBA3B00B40DBF0083272136D6D66354E7C055C63114F1A01C6BFD3A3AE50CFF6DFD828524C374B53EB8AFFA328BAD080BC82EF7DC0BCC6932EE16ECCA5E7167C5BF5D4C95099DA99BB0F0339B6A25B08F801F24A6EFB33CC8B10A745059A7CC702BD486AE01E0AE3A5B5A74A9247538B93BB2BE22BA404B751D2311C2C7013977D145C4438031D053A6AB13498F86ED9EDC68704392581DF64575BFF09B6DD4B9707FF6518A257DAE7D78F928E54DF67C5608F876C6E3867981A127A71B01C15C314FBBA6438179B00F857022279E70F8BD6B13A72C187E8F22A1C2B70889544A4D39C7C479F753B14671ECC1A66706DE1E69D1302C23AABF609EC79CAF91D7F7B69372BAFCF0F134436B09DD1EC6EA84364B8E246348ADFEBA4E774FBFC79CE1118EE9644A7404388EB4BF747369D0AB3D1C95C40B36388F934FA9F6604124B22F26EBDB3AE53B14A1BCCAE2BE3C92FFB8AF57A7E0E91B2152524BCD45C82E28D65A03C0398BB92CC48D2D9B0DE5FBB9F0C0A24CEB06B21EA83383C01848B6F38880C5F6531E4E8985A05DF257F1111163A92EBB06C7A0580D8E10390AEBFD186D3291815EB21F1D33870B3F65C5EF5EB7A595FE1AD4780F38DE5DA8CDE6DE14AE6745EC7D983996E16CD8B9C5795D0CCC3EAE530557D7F64AF784759FDA5BCCD6CECEA22EBDBF2F008DFF7058E6379B1762ED8ACA4A263D6013AB2E31927E12E7F218099EE1CA62EB1E98F93E20F4CB1A66D705FC48BA6C5E7F92CF69FD5D555D7A7EF3D69902006C47C1C0A13EEF57BA6F59EA9AE355C3C80B1253BA5C41D7F063CBF34344BF31C09C59FDF9BEECBAD148C0BF979FE7BAA1E37EA2DB58611EEB9F675566BACD7748D5944E9E015E6BB9F5EFBCD5157403013CD557D98608429B1AAB33EEDA48F2956F74CD73DF225BDE9B8B246AF6E8B16F45AF2E5A441EA70D8AADB8038C831DA39365978E5D405F86ADB40C9F3423C84BC1D28CF6779AD268; yzw-auac-token=7T37OMnWmNbc9GWB9yrP3TLyJfEUGuIaDMAG5r%2FHvaYgGCJckHYpPVqhB%2BgJb69fQSOnQSPmpZZqGq4RpLPjww%3D%3D"
        })
public interface BuildingProject {

    @Retry(maxRetryCount = "10")
    @Post(value = "https://agw.yzw.cn/api/pvas/v1/inner/opportunity/project/cscec_project/page_list")
    PageResp<PageListResp> pageList(@Body Req<?> req);

    @Retry(maxRetryCount = "10")
    @Get(value = "https://agw.yzw.cn/api/pvas/v1/web/opportunity/project/cscec_project/select_detail/{projectId}")
    Resp<CscecProjectDetailResp> cscecProjectDetail(@Var("projectId") String projectId);

    @Retry(maxRetryCount = "10")
    @Post(value = "https://agw.yzw.cn/api/pvas/v1/web/opportunity/plan/page_list_for_project_material")
    PageResp<Object> material(@Body Req<PlanReq> req);

    @Retry(maxRetryCount = "10")
    @Post(value = "https://agw.yzw.cn/api/pvas/v1/web/opportunity/plan/page_list_for_project_sub_contract")
    PageResp<Object> subContract(@Body Req<PlanReq> req);

    @Retry(maxRetryCount = "10")
    @Get("https://yzmtg.yzw.cn/portal/tender/listByProjectNo/{projectId}")
    Resp<PubTenderResp> pubTender(@Var("projectId") String projectId);

    @Retry(maxRetryCount = "10")
    @Get("https://yzmtg.yzw.cn/mer/portal/recruit/listByProjectNo/{projectId}")
    Resp<ZmResp> zm(@Var("projectId") String projectId);

    @Retry(maxRetryCount = "10")
    @Get("https://yzmtg.yzw.cn/portal/inquiry/listByProjectNo/{projectId}")
    Resp<XjResp> xj(@Var("projectId") String projectId);

    @Retry(maxRetryCount = "10")
    @Get(value = "https://agw.yzw.cn/api/pvas/v1/web/opportunity/project/cscec_project/select_detail/{projectId}")
    RespSingle<BuildingProjectDetailResp> buildingProjectDetail(@Var("projectId") String projectId);
}
